package LinkDB;

import com.mysql.jdbc.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;

public class Conexao {

    public static java.sql.Connection getConexao() {        
        try {
            Class.forName("com.mysql.jdbc.Driver");
            return DriverManager.getConnection("jdbc:mysql://localhost/chelp", "jorge", "isabelamaria");            
        } catch (ClassNotFoundException | SQLException e) {
            String errorMsg = "Driver nao encontrado";
            JOptionPane.showMessageDialog(null, errorMsg + ":\n" + e);
        } 
        return null;
    }
    
    public static boolean getConnectionIsValid(){
        try {  
            java.sql.Connection conn = Conexao.getConexao();
            return conn.isValid(10);            
        } catch (SQLException ex) {            
            return false;            
        }                
    }

    public static void closeAll(Connection con) {
        try {
            if (con != null) {
                con.close();
            }
        } catch (Exception e) {
            String errorMsg = "Nao foi possivel fechar a conexao com o banco";
            JOptionPane.showMessageDialog(null, errorMsg + ":\n" + e);
        }
    }

    public static void closeAll(Connection con, Statement stmt, ResultSet rs) {
        try {
            if (con != null || stmt != null) {
                closeAll(con, stmt);
            }
            if (rs != null) {
                rs.close();
            }
        } catch (Exception e) {
            String errorMsg = "Nao foi possivel fechar o resultSet do banco";
            JOptionPane.showMessageDialog(null, errorMsg + ":\n" + e);
        }
    }

    public static void closeAll(Connection con, Statement stmt) {
        try {
            if (con != null) {
                closeAll(con);
            }
            if (stmt != null) {
                stmt.close();
            }
        } catch (Exception e) {
            String errorMsg = "Nao foi possivel fechar a statement do banco";
            JOptionPane.showMessageDialog(null, errorMsg + ":\n" + e);
        }
    }
}
